# -*- coding: utf-8 -*-
from Escena import Escena
from heroe import Heroe
from objetos.Agua import Agua
from objetos.Abono import Abono
from objetos.Bolsa import Bolsa
from objetos.Flor import Flor
from objetos.Maceta import Maceta
from objetos.Pala import Pala
from objetos.Regadera import Regadera
from objetos.Tierra import Tierra
from objetos.Caja import Caja

class jardin(Escena): 
    
    """
    Escena de un jardin. El problema consiste en cuidar una maceta de flores
    @since: 4/14/2011
    @version: 1.0
    """
    
    def __init__(self):
        """
        Constructor
        @type    self: jardin
        @param    self: referencia al objeto jardin actual
        """        
        maceta=Maceta('maceta')
        tierra=Tierra(maceta)
        flor=Flor()
        tierra.tener(flor)
        maceta.tener(tierra)
        maceta.setPosicion([100, 480])      

        caja=Caja('caja')
        abono=Abono(caja)
        caja.tener(abono)
        caja.setPosicion([400, 500])
        
        regadera=Regadera('regadera')
        agua=Agua(regadera)
        regadera.tener(agua)
        regadera.setPosicion([700, 500])
        
        pala=Pala('pala')
        pala.setPosicion([600, 500])
        
        objetos={'maceta': maceta, 'regadera': regadera, 'caja': caja, 'pala': pala}
        
        #Set background
        self.setBackgound("imagenes/background/jardin.png");

        # Construccion del heroe
        heroe_jardin = Heroe.Heroe("")
        heroe_jardin.setImagen("imagenes/heroe.png")
        heroe_jardin.setPostura(0)
        heroe_jardin.setX(210)
        heroe_jardin.setY(370)
        desc = """<h1>Cultivando flores</h1>
					<p width='400px'>La mam&aacute; del ni&ntilde;o le pide si puede cuidar sus<br />
					flores por un d&iacute;a, se encuentra en el jard&iacute;n <br />
					frente a la maceta.</p>"""
        #Escena.__init__(self, 'jardin', 'La mamá del niño le pide si puede cuidar sus flores por un día, se encuentra en el jardín frente a la maceta.', objetos, '', heroe_jardin)
        Escena.__init__(self, 'jardin', desc, objetos, '', heroe_jardin)
        
    def califica(self):
        """
        Metodo para evaluar el progreso en la solucion del problema.
        @type    self: jardin
        @param    self: referencia al objeto jardin actual
        """
        tor = []
        objetos = self.getDiccionarioObjetos()
        
        if self.cumpleProp(objetos['tierra'], "getExcavado()", 0):
            tor.append("No has cavado un agujero en la tierra")
            
        if not self.cumpleContieneNombre(objetos['tierra'], 'agua'):
            tor.append("No has vertido agua a la flor")
            
        if not self.cumpleContieneNombre(objetos['tierra'], 'abono'):
            tor.append("No has vertido abono a la flor")
        
        if self.cumpleProp(objetos['tierra'], "getExcavado()", 1):
            tor.append("No has tapado el agujero en la tierra")
        
        return tor